package com.wang.springbootinit.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wang.springbootinit.model.dto.TrainingQueryDTO;
import com.wang.springbootinit.model.dto.TrainingUploadDTO;
import com.wang.springbootinit.model.entity.Student;
import com.wang.springbootinit.model.entity.Training;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * 训练攻略服务接口
 * 提供训练指导内容的管理和查询服务
 */
public interface TrainingService extends IService<Training> {
    /**
     * 添加训练攻略
     * @param uploadDTO 训练内容及相关文件
     * @return 操作结果
     */
    boolean addTraining(TrainingUploadDTO uploadDTO, HttpServletRequest request);
    
    /**
     * 更新训练攻略
     * @param uploadDTO 更新的训练内容及文件
     * @return 操作结果
     */
    boolean updateTraining(TrainingUploadDTO uploadDTO,HttpServletRequest request);
    
    /**
     * 删除训练攻略
     * @param trainingId 训练ID
     * @return 操作结果
     */
    boolean deleteTraining(Long trainingId);
    
    /**
     * 分页查询训练攻略
     * @param queryDTO 查询参数
     * @return 训练攻略列表
     */
    Page<Training> getTrainingPage(TrainingQueryDTO queryDTO);
    
    /**
     * 获取训练攻略详情
     * @param trainingId 训练ID
     * @return 训练攻略详情
     */
    Training getTrainingById(Long trainingId);
    
    /**
     * 按项目查询训练攻略
     * @param itemName 项目名称
     * @return 训练攻略列表
     */
    List<Training> getTrainingByItem(String itemName);
} 